package com.talent.mapper;

import com.talent.pojo.entity.Spot;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 点位Mapper
 */
@Mapper
public interface SpotMapper {

    /**
     * 分页查询点位
     */
    List<Spot> pageQuery(@Param("name") String name, 
                        @Param("address") String address, 
                        @Param("contactPerson") String contactPerson, 
                        @Param("contact") String contact, 
                        @Param("trainingInstitution") String trainingInstitution, 
                        @Param("categoryId") Long categoryId);

    /**
     * 根据ID查询点位
     */
    Spot getById(Long id);

    /**
     * 新增点位
     */
    void insert(Spot spot);

    /**
     * 更新点位
     */
    void update(Spot spot);

    /**
     * 批量删除点位
     */
    void deleteByIds(Long[] ids);

    /**
     * 查询点位总数
     */
    Integer countAll();

    /**
     * 根据分类统计点位数量
     */
    List<Spot> countByCategory();

    /**
     * 查询所有点位（用于导出）
     */
    List<Spot> list(Long[] ids);

    List<Spot> getAll();

    /**
     * 更新点位的服务ID
     */
    void updateSpotServices(@Param("spotId") Long spotId, @Param("serviceIds") String serviceIds);
}
